"use strict";

import Vue from 'vue';
import axios from "axios";

// 设置网络请求地址 
// axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
// axios.defaults.baseURL = 'http://localhost:3000';
// 把程序所需的数据挂载到此处
// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
// axios.defaults.headers.common['Authorization'] = localStorage.getItem("auto_token")
// 设置post请求的下载文档类型
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

// 配置选项
let config = {
  // baseURL: process.env.baseURL || process.env.apiUrl || ""
  // timeout: 60 * 1000, // Timeout
  // withCredentials: true, // Check cross-site Access-Control
};

// 创建axios实例
const _axios = axios.create(config);

// 判断是否处理数据（请求拦截器）
_axios.interceptors.request.use(
  function(config) {
    // 在请求之前执行的回调
    // 请求之前做些什么?
    return config;
  },
  function(error) {
    // 请求失败
    return Promise.reject(error);
  }
);

// 添加响应拦截器
_axios.interceptors.response.use(
  function(response) {
    // 获取数据成功做些什么
    // 返回响应对象中的data即可
    return response.data;
  },
  function(error) {
    // 响应失败
    return Promise.reject(error);
  }
);

const Plugin = {}
Plugin.install = function(Vue) {
  Vue.axios = _axios;
  window.axios = _axios;
  Object.defineProperties(Vue.prototype, {
    axios: {
      get() {
        return _axios;
      }
    },
    $axios: {
      get() {
        return _axios;
      }
    },
  });
};

Vue.use(Plugin)

export default Plugin;
